
### 第二批数据：1:敏感语料（短语，6754）+ 长文本（小说，2002） 2:微博评论原文（senti100k,处理特殊字符），8756条，测试集比例0.1

### 第三批数据：1:敏感语料（短语，6754）+ 长文本（小说，2002） 2:微博评论原文（senti100k,处理特殊字符，6754）+ 搜狗新闻（长文本，2002），测试集比例0.1

### 第四批数据：
# 1:敏感语料（短语，6754）+ 长文本（小说，2002）+ 标题(43164) 
# 2:非敏感语料：微博评论原文（senti100k,处理特殊字符，6754 + 43164）+ 搜狗新闻（长文本，2002）
# 测试集比例0.1 

### 第五批数据：
# 1:敏感语料 挑选后的短文本、敏感词等 37779 条

# 2:非敏感语料：处理后的微博评论原文 37779 条

# 测试集比例0.1 7555 68003


### 统计
# import os
# count = 0

# path = "/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/文德语料_黄_挑选"

# for root,dirs,files in os.walk(path):
#     for file in files:
#         if '.txt' in file:
#             file_name = os.path.join(root,file)
#             print(file_name)
#             with open(file_name,'r',encoding='utf-8') as f:
#                 for line in f.readlines():
#                     line = line.strip()
#                     if line:
#                         count += 1
# print(count)

# exit()

### 微博语料处理
# import re

# import pandas as pd

# def clean(text):
#     text = re.sub(r"(回复)?(//)?\s*@\S*?\s*(:| |$)", " ", text)  # 去除正文中的@和回复/转发中的用户名
#     text = re.sub(r"\[\S+\]", "", text)      # 去除表情符号
#     text = re.sub(r"#\S+#", "", text)      # 去除话题内容
#     text = re.sub(r"【\S+】", "", text)      # 去除标题
#     URL_REGEX = re.compile(
#         r'(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))',
#         re.IGNORECASE)
#     text = re.sub(URL_REGEX, "", text)       # 去除网址
#     text = text.replace("转发微博", "")       # 去除无意义的词语
#     text = text.replace("本报讯", "") 
#     text = re.sub(r"\s+", " ", text) # 合并正文中过多的空格
#     return text.strip()

# df_0 = pd.read_csv('/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/weibo_senti_100k.csv')
# df_0 = df_0.sample(n=80000).reset_index(drop=True) # 有一些处理之后为空的，不要

# texts = []

# for i in range(len(df_0)):
#     label = 0
#     text = clean(df_0.iloc[i]['review'])
#     if len(text)>1:
#         texts.append(text)

# with open('/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/weibo_senti_100k_proc.text','w') as f:
#     for t in texts:
#         f.write(t + '\n')


# exit()


import pandas as pd
import os
import re
import random
random.seed(7)


data = pd.DataFrame(columns=['label','text'])


####  非敏感语料 ####

# 微博数据 挑选

lines = []

with open('/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/weibo_senti_100k_proc.txt','r') as f:
    for line in f.readlines():
        line = line.strip()
        if line:
            lines.append(line)

line_select = random.sample(lines,37779)

# 加入微博数据
for line in line_select:
    label = 0
    text = line
    data = data.append(pd.DataFrame({'label':[label],'text':[text]}),ignore_index=True)


####  敏感语料 ####

path = "/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/文德语料_黄_挑选"

for root,dirs,files in os.walk(path):
    for file in files:
        if '.txt' in file:
            file_name = os.path.join(root,file)
            print(file_name)
            with open(file_name,'r',encoding='utf-8') as f:
                for line in f.readlines():
                    line = line.strip()
                    if line:
                        label = 1
                        text = line
                        data = data.append(pd.DataFrame({'label':[label],'text':[text]}),ignore_index=True)

assert len(data) == 37779*2



data['label'] = data['label'].astype(int)
data = data.sample(frac=1).reset_index(drop=True)

data_test = data[:int(len(data)*0.1)]
data_train = data[int(len(data)*0.1):]
print(len(data_test))
print(len(data_train))



data_train.to_csv(r"/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/data_bert/黄/v5/train.tsv",sep='\t',header=False,index=False)
data_test.to_csv(r"/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/data_bert/黄/v5/test.tsv",sep='\t',header=False,index=False)
data_test.to_csv(r"/Users/leo/Data/项目数据/文德数慧-文本内容审核/分类实验/数据/data_bert/黄/v5/dev.tsv",sep='\t',header=False,index=False)


